The present invention relates to methods and apparatus for generating image data representing a picture which are capable of producing realistic images. The invention is particularly useful for video game apparatus and computer graphic applications, especially where hardware resources are limited.
In computer graphics applications, image data for representing objects realistically are plotted in a three-dimensional or "3D" image space by separating the object into a number of polygonal surfaces, such as triangular or square surfaces, each of which is processed as a unit. Image data generated for each such polygonal surface are then stored successively in a frame memory, such as a video RAM, whose memory space corresponds to a display screen of a monitor or other device which is used to produce the image of the object from the image data stored in the frame memory.
In such applications, a dedicated plotting processor normally is provided between a central processing unit (CPU) and a frame memory in order to enhance processing speed. When the image data are generated, the CPU supplies a plotting command to the plotting processor for producing a polygonal image surface such as a triangle or square (such command being referred to hereinafter as a "plotting command"), so that the CPU need not produce the image data and supply the same directly to the frame memory. The plotter translates the command received from the CPU and subsequently plots the polygonal image surface in the frame memory.
FIGS. 1A and 1B illustrate a technique for plotting polygonal image surfaces. In order to produce image data representing a solid object having rectangular faces with illustrated vertices A through G as illustrated in FIG. 1A, each of the rectangular surface areas of the object is processed separately. That is, in the illustrated example as shown in FIG. 1B, separate plotting commands IPa, IPb and IPc are produced by the CPU for generating polygonal image areas Pa, Pb and Pc, respectively. The plotting commands IPa, IPb and IPc are illustrated schematically in FIG. 2, each of which includes respective vertex coordinates (Ax, Ay) through (Dx, Dy), (Cx, Cy) through (Fx, Fy), and (Bx, By) through (Gx, Gy), and a CODE providing information concerning color and other characteristics of the image data to be included in the polygonal surface areas Pa, Pb and Pc.
The plotting commands as generated by the CPU are transferred thereby to the plotter which produces image data for each of the polygonal surface areas in response to the plotting commands and stores the data in the frame memory. The image data is subsequently read from the frame memory, converted to an analog signal and displayed by a monitor to produce an image of the object as illustrated in FIG. 1A.
CD-I disks are a type of previously developed CD-ROM disk which permit the recording of audio data and various other kinds of data including image data, text data, computer programs, etc. The image data is recorded in compressed form on the CD-I disk.
It is difficult to represent moving pictures by means of a 3D graphic system. Consequently, digital moving picture reproduction systems are provided which receive compressed image data from a CD-ROM as a secondary memory in order to provide a background image or the like as a complement to a 3D system. However, such digital moving picture reproduction systems are somewhat inferior to 3D graphic systems in terms of interactivity.
FIG. 3 provides a block diagram of a conventional composite system including a 3D graphic system and a moving picture reproduction system. The system of FIG. 3 includes a main bus 10, as well as a number of devices coupled thereto including a CPU 11, a main memory 12, a CD-ROM decoder 13 and an image expander 14. The CD-ROM decoder 13 receives encoded data from a CD-I disk reproduced by a CD-ROM driver 15 and decodes the received data. The data provided by the CD-ROM decoder 13 from the disk include plotting commands for computer graphics and animation data, as well as still image data of natural pictures and moving picture image data compressed through discrete cosine transformation (DCT).
The decoded data supplied by the CD-ROM decoder 13 are first transferred to the main memory 12 for storage therein. The CPU subsequently transfers the plotting commands from the main memory 12 to a plotter 19 via a first-in first-out (FIFO) buffer 16, a coordinate calculator 17 and another FIFO buffer 18. The coordinate calculator 17 produces new vertex coordinates for the polygonal image surface area to be generated by a given plotting command. The plotting commands from the coordinate calculator are transferred to the plotter 19 via the FIFO 18 and the plotter 19 carries out the commands to plot the corresponding polygonal surface areas to produce image data to be stored in a frame memory 20.
The CPU 11 supplies the compressed image data from the main memory 12 to the image expander 14 which is coupled by an exclusive local bus to a local frame memory 21 which the expander 14 uses to expand the compressed image data and store the expanded image data. With reference also to FIG. 4, the image expander 14 receives the compressed image data at an input 31 from which the data are supplied to a Huffman decoder 32. After Huffman decoding, the data are supplied from the decoder 32 to a dequantizer 33 for requantization. The requantized data from the apparatus 33 are supplied to an inverse DCT circuit 34 which transforms the data to its original form prior to compression for storage on the CD-ROM. This data is output in an 8.times.8 matrix form and supplied at an output terminal 35 of the image expander 14.
The expanded image data are read out from the local frame memory 21 to a D/A converter 22 for conversion to analog form. The analog data from the converter 22 are supplied to a first input of a multiplexer 23 which receives the 3D image data from the frame memory 20 via a further D/A converter 24 at a second input of the multiplexer 23. The multiplexer 23 selects one of the analog signals received at its first and second inputs for output to an image monitor 25 in order to produce a composite image.
It will be appreciated that the conventional composite system of FIG. 3 is relatively complex as it requires separate circuitry for producing the 3D image data and the moving picture data. Moreover, once the 3D image data and the moving picture data have been produced, a multiplexer is required for mixing the data to produce a composite image.